// --------------------------------------------------------------------------------------------------------------------
// <copyright file="IDiagnosticMonitorService.cs" company="AzureContrib (Open source library http://azurecontrib.codeplex.com)">
//   Microsoft Public License (Ms-PL)
// </copyright>
// <summary>
//   Defines the IDiagnosticMonitorService type.
// </summary>
// --------------------------------------------------------------------------------------------------------------------

namespace AzureContrib.WindowsAzure.TestWorkerRole
{
	using System;

	using Microsoft.WindowsAzure;
	using Microsoft.WindowsAzure.Diagnostics;

	internal interface IDiagnosticMonitorService
	{
		[Obsolete("Using insecure remote connections can cause issues in the development fabric when communicating to storage through a proxy.")]
		bool AllowInsecureRemoteConnections { get; set; }

		DiagnosticMonitorConfiguration GetDefaultInitialConfiguration();

		DiagnosticMonitor Start(string diagnosticsStorageAccountConfigurationSettingName);

		DiagnosticMonitor Start(string diagnosticsStorageAccountConfigurationSettingName, DiagnosticMonitorConfiguration initialConfiguration);

		DiagnosticMonitor Start(CloudStorageAccount storageAccount, DiagnosticMonitorConfiguration initialConfiguration);
	}
}